package com.qujia.station.domain.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.qujia.common.annotation.Excel;
import com.qujia.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

public class ClassSettlementFieldVo extends BaseEntity{

    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long classSettlementId;

    /** 班结编码，和油站id搭配排重 */
    @Excel(name = "班结编码")
    private String classNo;

    private Long enterpriseId;

    /** 油站id */
    private Long stationId;

    /** 油站名称 */
    @Excel(name = "油站名称")
    private String stationName;

    /** 支付方式 */
    private String payType;

    /** 加油员id */
    private String oilPersonnelId;

    /** 加油员name */
    private String oilPersonnelName;

    /** 油品id */
    private String oilId;

    /** 油品名称 */
    private String oilName;

    /** $column.columnComment */
    private BigDecimal oilPrice;

    /** 油枪号 */
    private String oilGun;

    /** 油品类型 */
    private String oilType;

    /** 数量(L/kg) */
    @Excel(name = "数量(L/kg)")
    private BigDecimal orderLiters;

    /** 设备编码 */
    @Excel(name = "设备编码")
    private String equipmentCode;

    /** 参加立减活动的id */
    private Long activityId;

    /** 参加活动的名称 */
    private String activityName;

    /** 此次班结订单数量 */
    @ApiModelProperty(value = "此次班结订单数量")
    @Excel(name = "此次班结订单数量")
    private Long orderCount;

    /** 实收金额(元) */
    @ApiModelProperty(value = "实收金额(元)")
    @Excel(name = "实收金额(元)")
    private BigDecimal amt;


    /** 应收总金额（元） */
    @ApiModelProperty(value = "应收总金额（元）")
    @Excel(name = "应收总金额（元）")
    private BigDecimal receivableAmt;

    /** 退款金额（元） */
    @ApiModelProperty(value = "退款金额（元）")
    @Excel(name = "退款金额（元）")
    private BigDecimal refundAmt;

    /** 短款金额 */
    @ApiModelProperty(value = "短款金额")
    private BigDecimal moreAmt;

    @ApiModelProperty(value = "立减优惠金额")
    private BigDecimal discountAmt;


    @ApiModelProperty(value = "优惠券优惠金额")
    private BigDecimal discountCouponAmt;

    @ApiModelProperty(value = "优惠总金额（元）")
    private BigDecimal discountSum;

    @ApiModelProperty(value = "提现总金额（元）")
//    @Excel(name = "提现总金额（元）")
    private BigDecimal totalWithdrawalAmount;

    @ApiModelProperty(value = "手续费（元）")
//    @Excel(name = "手续费（元）")
    private BigDecimal commission;

    @ApiModelProperty(value = "现金总金额（元）")
//    @Excel(name = "现金总金额（元）")
    private BigDecimal totalCashAmount;
    //0司机1油企
    @ApiModelProperty(value = "手续费支付者")
    private String channelFeePayer;

    public String getChannelFeePayer() {
        return channelFeePayer;
    }

    public void setChannelFeePayer(String channelFeePayer) {
        this.channelFeePayer = channelFeePayer;
    }


    public ClassSettlementFieldVo() {
    }





    public void setScore(String score) {
        this.score = score;
    }

    public String getScore() {
        return score;
    }


    /** 消耗积分 */
    private String score;

    /** 班结开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "班结开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date classStartTime;

    /** 班结截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "班结截止时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date classEndTime;
    private String beginTime;


    private String endTime;



    public void setBeginTime(String beginTime) {
        this.beginTime = beginTime;
    }
    public String getBeginTime() {
        return beginTime;
    }
    @Override
    public String getEndTime() {
        return endTime;
    }

    @Override
    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }


    /** 创建人 */
    private Long createUser;

    /** 创建人名 */
    @Excel(name = "创建人名")
    private String createName;

    private String note;

    private BigDecimal sumPrice;

    private BigDecimal serviceCharge;

    public void setClassSettlementId(Long classSettlementId)
    {
        this.classSettlementId = classSettlementId;
    }



    public void setTotalWithdrawalAmount(BigDecimal totalWithdrawalAmount) {
        this.totalWithdrawalAmount = totalWithdrawalAmount;
    }


    public void setCommission(BigDecimal commission) {
        this.commission = commission;
    }

    public void setTotalCashAmount(BigDecimal totalCashAmount) {
        this.totalCashAmount = totalCashAmount;
    }



    public BigDecimal getTotalWithdrawalAmount() {
        return totalWithdrawalAmount;
    }

    public BigDecimal getCommission() {
        return commission;
    }

    public BigDecimal getTotalCashAmount() {
        return totalCashAmount;
    }



    public void setDiscountSum(BigDecimal discountSum) {
        this.discountSum = discountSum;
    }

    public BigDecimal getDiscountSum() {
        return discountSum;
    }

    public Long getClassSettlementId()
    {
        return classSettlementId;
    }
    public void setClassNo(String classNo)
    {
        this.classNo = classNo;
    }

    public String getClassNo()
    {
        return classNo;
    }
    public void setEnterpriseId(Long enterpriseId)
    {
        this.enterpriseId = enterpriseId;
    }

    public Long getEnterpriseId()
    {
        return enterpriseId;
    }
    public void setStationId(Long stationId)
    {
        this.stationId = stationId;
    }

    public Long getStationId()
    {
        return stationId;
    }
    public void setStationName(String stationName)
    {
        this.stationName = stationName;
    }

    public String getStationName()
    {
        return stationName;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setOilPersonnelId(String oilPersonnelId)
    {
        this.oilPersonnelId = oilPersonnelId;
    }

    public String getOilPersonnelId()
    {
        return oilPersonnelId;
    }
    public void setOilPersonnelName(String oilPersonnelName)
    {
        this.oilPersonnelName = oilPersonnelName;
    }

    public String getOilPersonnelName()
    {
        return oilPersonnelName;
    }
    public void setOilId(String oilId)
    {
        this.oilId = oilId;
    }

    public String getOilId()
    {
        return oilId;
    }
    public void setOilName(String oilName)
    {
        this.oilName = oilName;
    }

    public String getOilName()
    {
        return oilName;
    }

    public BigDecimal getOilPrice() {
        return oilPrice;
    }

    public void setOilPrice(BigDecimal oilPrice) {
        this.oilPrice = oilPrice;
    }

    public void setOilGun(String oilGun)
    {
        this.oilGun = oilGun;
    }

    public String getOilGun()
    {
        return oilGun;
    }
    public void setOilType(String oilType)
    {
        this.oilType = oilType;
    }

    public String getOilType()
    {
        return oilType;
    }
    public void setOrderLiters(BigDecimal orderLiters)
    {
        this.orderLiters = orderLiters;
    }

    public BigDecimal getOrderLiters()
    {
        return orderLiters;
    }
    public void setEquipmentCode(String equipmentCode)
    {
        this.equipmentCode = equipmentCode;
    }

    public String getEquipmentCode()
    {
        return equipmentCode;
    }
    public void setActivityId(Long activityId)
    {
        this.activityId = activityId;
    }

    public Long getActivityId()
    {
        return activityId;
    }
    public void setActivityName(String activityName)
    {
        this.activityName = activityName;
    }

    public String getActivityName()
    {
        return activityName;
    }
    public void setOrderCount(Long orderCount)
    {
        this.orderCount = orderCount;
    }

    public Long getOrderCount()
    {
        return orderCount;
    }
    public void setAmt(BigDecimal amt)
    {
        this.amt = amt;
    }

    public BigDecimal getAmt()
    {
        return amt;
    }
    public void setReceivableAmt(BigDecimal receivableAmt)
    {
        this.receivableAmt = receivableAmt;
    }

    public BigDecimal getReceivableAmt()
    {
        return receivableAmt;
    }
    public void setRefundAmt(BigDecimal refundAmt)
    {
        this.refundAmt = refundAmt;
    }

    public BigDecimal getRefundAmt()
    {
        return refundAmt;
    }
    public void setMoreAmt(BigDecimal moreAmt)
    {
        this.moreAmt = moreAmt;
    }

    public BigDecimal getMoreAmt()
    {
        return moreAmt;
    }
    public void setDiscountAmt(BigDecimal discountAmt)
    {
        this.discountAmt = discountAmt;
    }

    public BigDecimal getDiscountAmt()
    {
        return discountAmt;
    }
    public void setDiscountCouponAmt(BigDecimal discountCouponAmt)
    {
        this.discountCouponAmt = discountCouponAmt;
    }

    public BigDecimal getDiscountCouponAmt()
    {
        return discountCouponAmt;
    }
    public void setClassStartTime(Date classStartTime)
    {
        this.classStartTime = classStartTime;
    }

    public Date getClassStartTime()
    {
        return classStartTime;
    }
    public void setClassEndTime(Date classEndTime)
    {
        this.classEndTime = classEndTime;
    }

    public Date getClassEndTime()
    {
        return classEndTime;
    }
    public void setCreateUser(Long createUser)
    {
        this.createUser = createUser;
    }

    public Long getCreateUser()
    {
        return createUser;
    }
    public void setCreateName(String createName)
    {
        this.createName = createName;
    }

    public String getCreateName()
    {
        return createName;
    }
    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }

    public BigDecimal getSumPrice() {
        return sumPrice;
    }

    public void setSumPrice(BigDecimal sumPrice) {
        this.sumPrice = sumPrice;
    }

    public BigDecimal getServiceCharge() {
        return serviceCharge;
    }

    public void setServiceCharge(BigDecimal serviceCharge) {
        this.serviceCharge = serviceCharge;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("classSettlementId", getClassSettlementId())
                .append("classNo", getClassNo())
                .append("stationId", getStationId())
                .append("stationName", getStationName())
                .append("payType", getPayType())
                .append("oilPersonnelId", getOilPersonnelId())
                .append("oilId", getOilId())
                .append("oilName", getOilName())
                .append("oilPrice", getOilPrice())
                .append("oilGun", getOilGun())
                .append("oilType", getOilType())
                .append("orderLiters", getOrderLiters())
                .append("equipmentCode", getEquipmentCode())
                .append("activityId", getActivityId())
                .append("activityName", getActivityName())
                .append("orderCount", getOrderCount())
                .append("amt", getAmt())
                .append("receivableAmt", getReceivableAmt())
                .append("refundAmt", getRefundAmt())
                .append("moreAmt", getMoreAmt())
                .append("discountAmt", getDiscountAmt())
                .append("discountCouponAmt", getDiscountCouponAmt())
                .append("classStartTime", getClassStartTime())
                .append("classEndTime", getClassEndTime())
                .append("createTime", getCreateTime())
                .append("createUser", getCreateUser())
                .append("createName", getCreateName())
                .toString();
    }


}
